Workshops

Workshops / Background reports / Book introductions

1. Workshop: TCP/IP between Amiga and Windows9x-PC (by Uwe Pannecke)

»Again a network

TCP/IP between Amiga and Windows9x-PC

1. Why this?

As a reaction to my article about the serial connection of two computers [1] in the last issue of AmigaAktuell, some user asked me to write another one about the TCP/IP connection of an Amiga with a Windows9x computer through a Nullmodem cable. Well, here it is.

With the PPP (Point to Point Protocol), you can create a network between two or more computers where you can access resources of other computer in this network just like if you would work directly on said computer. PPP is the basis for TCP/IP, the Transmission Control Protocol/Internet Protocol, a method used worldwide to network computers. Basically, you can connect computers with different operating systems to a network with this protocol. So the Amiga can serve a web or ftp server for the Win9x, Mac or Linux computer; you can play network games without phone costs, or you can remote control other computers through a telnet connection.

This workshop describes step by step the setup of a TCP/IP connection between an Amiga and a Windows9x computer.

2. Hardware

You will need a so called nullmodem cable for the serial port, as described in [1]. You can get a suitable cable at most bigger department (computer) stores. Make sure you really buy a nullmodem cable for serial connection. This must be stated explicitly on the package. Since those cable have 9 pin connectors in most cases, but the Amiga has a 25 pin interface, you will also need an 9/25 pin adapter. If you are going to use an interface card like the MultifaceCard, you will most likely have a 9 pin connector an this card and spare the adapter.

3. Software

3.1 The Amiga side

On the Amiga side, we will use the widespread TCP/IP stack Miami[2] from Holger Kruse. But of course other stacks like AmiTCP will work as well.

3.1.1 Interface

After starting Miami without a config file, select the config page "Interface".

The "Interface type" should be set either to "built-in serial (PPP/CSLIP) or (when you are using a interface card) "serial driver (PPP/CSLIP)". When you choose the latter, you will have to enter the correct driver name and port number as well. In our case we will use the second serial port of a MultiFaceCard III, so the settings are "Driver" "duart.device" and "unit" "1". The "Speed" should match the other side, the faster it is, the higher the transfer rate will be. But the internal serial of the Amiga can hardly manage anything above "57600", even with a fast CPU. The only real solution is a interface card like the aforementioned MultiFaceCard.

"Use CD" should be inactive (not checkmarked), the "Protocol" set to "asyncPPP", "Flow control" to "RTS/CTS", "EOF-Mode" to "auto" and "Serial mode" to "8N1".

Next thing is to make sure that each computer is properly identified in the network. For this purpose we will assign IP-IDs, the address(es) of the computer in the network. Usually, this is done with a four part number combination like 125.164.111.125. Because each computer (in the Internet) has to have a unique number, you can cause some confusion if you use arbitrary numbers and connect you network to the internet. Because of this, RFC 1597 has defined three address field for intern usage. These fields are:


the Class A-Net 10.0.0.0 to 10.255.255.255 
the Class B-Net 172.16.0. to 172.31.255.255 
the Class A-Net 192.168.0.0 to 192.168.255.255 
    

We will use a Class C-Net and give the Amiga the IP-ID 192.168.1.2 while the Windows-PC get 192.168.1.3 (192.168.1.1 is reserved for a Linux computer). Of course you can use other IP-IDs for your network. Now we set the "IP-Type" in Miami to "static", the "IP address" is set to the IP address of the computer Miami is running on, "192.168.1.2". "Multicasts" is set to "disabled", the MTU is set "552", following an advice from Holger Kruse for interface speeds of more than 19200. The "do" option control Miami behavior at inactivity. If it is set to "nothing", Miami will remain quiet. With "ICMP ping" after "9" minutes, the other side is "pinged" every 9 minutes and activity is simulated. This can make sense to prevent the automatic disconnection from the other side after (mostly 10 minutes of) inactivity.

Screenshot

3.1.2 PPP

In the PPP section, the area "PAP/CHAP" remains without anything activated, "callback" is set to "none", "VJC" gets a checkmark, "ACCM" is set to "a0000", "Get DNS from IPCP" is unchecked, the "Escape" field remains empty, and "TermReq before hangup" is activated. "Quick reconnect" is set to "disabled".

3.1.3 Database

In the database mode, select "hosts" and add the Amiga as well as the other computers is the network with the button "New". The Amiga could be called "amiga", with the IP address 192.168.1.2, the second one could be the Linux computer, called "linux" with 192.168.1.1, and finally the Windows9x PC, called "windows" with the ID 192.168.1.3.

Screenshot

3.1.4 TCP/IP

In this window we remove the mark from "dynamic" under "Hostname", and enter the name for our computer in the text field, in our case "amiga". Set "Use ICMP" to on, "DHCP", "verify DNS servers" and "Fake IP" to off. "T/TCP" isn't strictly required, but will speed up the connection if the other side supports it. "Auto add domain", "Down when offline" and "ping flood protection" remain unchecked.

3.1.5 Modem

This part is the quickest. Just enable "Nullmodem" here and Miami know that we want to use a nullmodem connection and no AT commands will be sent - there is no modem involved, after all. Now Miami is set up for a TCP/IP connection over a nullmodem cable.

3.2 The Win9.x side

3.2.1 Setting up the nullmodems

Open the Control Panel. Now double click on the icon "Modems". Choose "Add" and bypass the automatic detection. Now you will get a huge list of available modems. If you don't find an entry "Generic NULL Modem", you can ignore this list and load a driver with the "Diskette..." button. But where to get this driver? From Aminet, of course. :)

In [3], Raphael Kiekow Hickenbrick, describes detailed in English how to setup an TCP/IP connection over the serial port between Amiga and Windows9x. Some parts of this workshop have been inspired by his text.

Besides this description, you find the required nullmodem driver (mdmcisco.inf) for Winodws9 inside the LHA archive.

Copy this file into any directory of the Win9x PC and select this file in the file requester that opens after clicking on "Diskette...". Then you will be asked about the serial port (COM) to be used with the nullmodem. Select the right one. In our case, the cable is connected to the second port, so COM 2 is the right choice. Windows9x will now install the nullmodem and take a little timeout for this. Then click "Finish" to complete the installation.

The "Properties" of the nullmodem must be set to the right parameters. In our case the would be the serial port COM 2, the maximum speed of 115200 (this has to be the same value as on the other side). Under "Settings", choose 8 data bits, no parity, and 1 stop bit.

Under "Advanced", we have to activate the "Hardware handshaking (RTS/CTS)".

3.2.2 Configuration of the network

On the Windows desktop, open "My Computer" and then "Dial up Network". Then "Create New Connection". Choose a suitable name for the computer to be connected with, e.g. AMIGA.

Screenshot

As device, choose the "Generic NULL Modem" and select "Configure..." to make sure that all option are correct. Click on "Next" and enter "0" as phone number. One more click on "Next" and the new connection AMIGA is created.

Now, for a change, right click o the AMIGA icon and choose "Properties" in the popup menu. Disable "Use dialing code". Then set the "Type of server" to "PPP: Internet, WindowsNT Server, Windows98". Remove all checkboxes except "TCP/IP" on this page. Then click on "TCP/IP-Settings...". And define the IP address for the Windows PC, In our case, this is 192.168.1.3.

Furthermore, you should have activated "Get Nameserver addresses from server" and disabled "IP-Header compression" and "Use Standard-Gateway in Remote-Network". Now click "OK".

Screenshot

In the "Windows" directory, you will find a file called "hosts". Open it with a text editor and you will see an entry 127.0.0.1 localhost Now add the other computers with it IP addresses. In our case, this would be 192.168.1.2 amiga 192.168.1.3 windows Now save the file with the same name.

4. Connecting

4.1 Amiga

Run Miami and click on "Online". Miami now waits for the other side.

4.2 Windows9.x

When Miami is running, double click on the AMIGA icon in the "Dial up-Network" to call up our configuration. Now click on "Connect".

In the lower part of the Miami window, you should now read "Hello". To make the connection permanent, click on "Send break (f8)".

Within a few moments, the TCP/IP connection between the Amiga and Win9x is established.

5. Applications

For some time now, my Amiga serves as web- and ftp-server for a Linux- as well as for a Windows9x computer. Of course the Amiga can also access Windows9x- or Linux-servers as a client. Often you can find useful software in Aminet.

Remote controlling a networked computer via telnet is quickly and easily down, provided you have the suitable software.

The interface speed use in this article, lets you play Dxxm,

Screenshot

and was also sufficient for strategy games like FreeCiv.

[1] Building a network with AmigaOS and Linux
[2] in Aminet at /comm/tcp/Miami32b-xx.lha
[3] in Aminet at /comm/tcp/NullTCP.lha

Uwe Pannecke <Uwe.Pannecke@t-online.de